package com.fengye.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @author sunlei
 * @version 1.0
 * @date 2024/5/10 14:44:44
 * @description 防止重复提交请求注解
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface RequestLimit {
    /**
     * 指定时间内每个接口最大重复请求次数，默认60秒内最多请求1次
     */
    int maxCount() default 1;
    /**
     * 时间间隔，默认5秒间隔
     */
    long interval() default 5;
    /**
     * 时间间隔的单位，默认秒
     */
    TimeUnit intervalTimeUnit() default TimeUnit.SECONDS;
}
